package cn.javase.base.reflect;

import java.lang.reflect.Constructor;
import java.lang.reflect.Modifier;
import java.lang.reflect.Parameter;

public class _03_获取构造方法的修饰符_名称和形参 {
    public static void main(String[] args) throws NoSuchMethodException {
        Class<Student> studentClass = Student.class;
        Constructor<Student> constructor = studentClass.getConstructor(String.class, int.class);
        int modifiers = constructor.getModifiers();
        System.out.println("修饰符整数标识：" + modifiers);
        String stringModifiers = Modifier.toString(modifiers);
        System.out.println(stringModifiers);
        System.out.println("===========================================");
        String name = constructor.getName();
        System.out.println(name); // 打印构造方法名称
        System.out.println("===========================================");
        Class<?>[] parameterTypes = constructor.getParameterTypes();
        for (Class<?> parameterType : parameterTypes) {
            System.out.println(parameterType); // 打印参数类型
        }
        System.out.println("===========================================");
        Parameter[] parameters = constructor.getParameters();
        for (Parameter parameter : parameters) {
            System.out.println(parameter); // 打印参数名称
        }
    }
}
